package com.yjz.leetcode.二叉树学习.二叉搜索树;

import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * @author :yuanJinZhong
 * @description: 二叉搜索树单元测试
 * @date :2018/11/24-15:45
 */
@Slf4j
public class BstTreeTest {

  @Test
  public void BstTreeTest() {
    BstTree bstTree = new BstTree();
    bstTree.insert(5);
    bstTree.insert(2);
    bstTree.insert(4);
    bstTree.insert(3);
    bstTree.insert(7);
    bstTree.insert(6);
    bstTree.insert(8);
    bstTree.insert(1);
    log.info("最基本的二叉搜索树插入完毕");
    /**
     * 查找出某个节点
     */
    Node node = bstTree.find(5);
    log.info("查找出的节点是:{}", node);
    /**
     * 针对查找出的节点做中序遍历：左子树->根节点->右子树
     */
    log.info("中序遍历");
    bstTree.middleOrderIteration(node);

    /**
     * 针对查找出的节点做前序遍历
     */
    log.info("前序遍历");
    bstTree.beforeOrderIteration(node);

    /**
     * 后续遍历
     */
    log.info("后序遍历");
    bstTree.afterOrderIteration(node);
  }
}
